package com.jyu.begin;

import com.jyu.service.ProductService;
import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.swing.*;
import java.util.Scanner;

@Component
public class SmsJFrame {

    @Autowired
    private ProductService productService;


    //Spring的依赖注入机制是在构造函数调用之后完成的
    public SmsJFrame() {
    }

    @PostConstruct  //该注解在Java中主要用于标记一个方法，该方法会在对象创建并完成依赖注入后被自动调用
    public void init() {
            new SmsJFrame();
            Scanner scanner = new Scanner(System.in);
            String choice = "";
            System.out.println("欢迎你来到胜强超市管理系统！！！");
            while (!choice.equals("13")) {
                menu();
                System.out.println("*****请输入你的选择*****");
                choice = scanner.nextLine();
                switch (choice) {
                    case "1": {
                        productService.saveProduct();
                        break;
                    }
                    case "2": {
                        productService.listProduct();
                        break;
                    }
                    case "3": {
                        productService.getByName();
                        break;
                    }
                    case "4": {
                        productService.getByProductId();
                        break;
                    }
                    case "5": {
                        productService.countOnSale();
                        break;
                    }
                    case "6": {
                        productService.productOutboundById();
                        break;
                    }case "7": {
                        productService.productOutboundByName();
                        break;
                    }
                    case "8": {
                        productService.removeByProductId();
                        break;
                    }
                    case "9": {
                        productService.removeByProductName();
                        break;
                    }
                    case "10": {
                        productService.removeAll();
                        break;
                    }
                    case "11": {
                        productService.updateByProductId();
                        break;
                    }case "12": {
                        productService.updateByProductName();
                        break;
                    }
                    case "13": {
                        System.out.println("期待你的下一次光临！！！");
                        System.exit(0);
                    }
                    default: {
                        System.out.println("你的选择有误，请重新选择！！！");
                    }
                }
            }
        }
    //超市管理系统功能菜单
    private void menu() {
        System.out.println("==========================欢迎来到超市管理系统==========================");
        System.out.println("                           1.商品录入                             ");
        System.out.println("                           2.查询所有商品                          ");
        System.out.println("                           3.根据商品名字查询商品详细信息               ");
        System.out.println("                           4.根据商品单号查询商品详细信息                ");
        System.out.println("                           5.统计在线销售商品的总数量               ");
        System.out.println("                           6.根据商品单号出库                           ");
        System.out.println("                           7.根据商品名称出库                           ");
        System.out.println("                           8.根据商品单号删除商品                   ");
        System.out.println("                           9.根据商品名称删除商品                   ");
        System.out.println("                           10.清空所有商品                          ");
        System.out.println("                           11.根据商品单号修改商品信息                          ");
        System.out.println("                           12.根据商品名称修改商品信息                          ");
        System.out.println("                           13.退出系统                             ");
        System.out.println("==========================欢迎来到超市管理系统==========================");
    }
}
